/* ==== Global safety ==== */
html, body { overflow-x: hidden; }
img, video { max-width: 100%; height: auto; display: block; }

/* ====== Tablet (<=1024px) ====== */
@media (max-width: 1024px) {
  .elementor-section { padding-left: 20px; padding-right: 20px; }
  .elementor-column { width: 100% !important; }
}

/* ====== Mobile (<=767px) ====== */
@media (max-width: 767px) {
  /* Hero banner block */
  .elementor-49 .elementor-element.elementor-element-1ce0a6c8 {
    padding: 110px 16px 160px 16px !important; /* tighten top/bottom */
    background-position: center top !important;
    background-size: cover !important;
    border-radius: 24px !important;
  }

  /* Big “Noorco.” heading */
  .elementor-49 .elementor-element.elementor-element-611836a1 .elementor-heading-title {
    font-size: 56px !important;
    letter-spacing: -2px !important;
    line-height: 0.9 !important;
    text-shadow: none !important;
  }

  /* Center hero CTA and text */
  .elementor-49 .elementor-element.elementor-element-55db2cc {
    align-items: center !important;
  }
  .elementor-49 .elementor-element.elementor-element-55db2cc .elementor-widget-text-editor,
  .elementor-49 .elementor-element.elementor-element-55db2cc .elementor-widget-button {
    text-align: center !important;
    width: 100%;
  }
  .elementor-button { width: 100%; }

  /* Project image triplet: stack vertically */
  .elementor-column,
  .elementor-container { gap: 16px !important; }
  .elementor-49 .elementor-element img { border-radius: 20px !important; }

  /* Contact icons row: stack and center */
  .elementor-icon-box-wrapper, .elementor-widget-icon-box { text-align: center !important; }
  .elementor-widget-icon-box .elementor-icon-box-content { margin-top: 8px; }

  /* Map: fixed height on mobile */
  .map-wrap iframe, .elementor-widget-google_maps iframe {
    width: 100% !important;
    height: 320px !important;
  }
}
